/**
 * @file MessageError.h
 * @author Karol Kulesza
 *  
 * Klasa odpowiadająca za obsługę Errora otrzymanego od klienta. 
 */

#ifndef MESSAGEERROR_H_
#define MESSAGEERROR_H_

#include "MessageExecutor.h"
#include "../ClientController.h"

namespace tftp_server {

/**
 * @class MessageError
 * Klasa odpowiadająca za obsługę Errora otrzymanego od klienta.  
 */
class MessageError: public tftp_server::MessageExecutor
{
	/**
	 * Clientcontroller obsługujący wysyłanie pliku.
	 */
	ClientController *clientController;
	/**
	 * Otrzymany pakiet opakowujący Error.
	 */
	Package package;
	
public:
	/**
	 * Konstruktor klasy.
	 * @param clientController_ - Clientcontroller obsługujący wysyłanie pliku. 
	 * @param package_ - otrzymany pakiet.
	 */
	MessageError(ClientController *clientController_, Package package_);

	/**
	 * Destruktor klasy
	 */
	~MessageError();
	
	/**
	 * Metoda obsługująca otrzymany Error.
	 */
	void execute() const;
};

}

#endif /* MESSAGEERROR_H_ */
